package com.shop.cereshop.commons.domain.im.tx.resp.follow;

import com.google.gson.annotations.SerializedName;
import com.shop.cereshop.commons.domain.im.tx.resp.ImBaseResp;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.checkerframework.checker.units.qual.A;

import java.util.List;

/**
 * 用户关注和取关 检查关注关系 相关响应
 */
@Data
@ApiModel(value = "用户关注和取关 检查关注关系 相关响应")
public class FollowUserResp extends ImBaseResp {
    @ApiModelProperty("用户关注和取关 检查关注关系 相关响应")
    List<FollowAdd> ResultItem;

    @Data
    public static class FollowAdd {
        @ApiModelProperty("被操作的帐号")
        @SerializedName("To_Account")
        private String To_Account;
        @ApiModelProperty("操作结果")
        @SerializedName("ResultCode")
        private Integer ResultCode;
        @ApiModelProperty("操作结果信息")
        @SerializedName("ResultInfo")
        private String ResultInfo;
        /**
         * 校验成功时 To_Account 与 From_Account 之间的关注关系：
         * 0 - From_Account 没有关注 To_Account，To_Account 也没有关注 From_Account。
         * 1 - From_Account 没有关注 To_Account，To_Account 关注了 From_Account。
         * 2 - From_Account 关注了 To_Account，To_Account 没有关注 From_Account。
         * 3 - From_Account 关注了 To_Account，To_Account 也关注了 From_Account。
         */
        @ApiModelProperty("To_Account 与 From_Account 之间的关注关系 0  没有关系。1 被关注。2 关注。3 互相关注")
        @SerializedName("FollowType")
        private Integer FollowType;
    }

    //重写tostring 父类属性也要实现
    @Override
    public String toString() {
        return "FollowUserResp{" +
                "ActionStatus='" + getActionStatus() + '\'' +
                ", ErrorCode=" + getErrorCode() +
                ", ErrorInfo='" + getErrorInfo() + '\'' +
                ", ResultItem=" + ResultItem +
                '}';
    }
}
